/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	ParameterBinderVector3.h
*
*	Description -	.
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	06/10/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_PARAMETER_BINDER_VECTOR_3_H_
#define _PSX_PARAMETER_BINDER_VECTOR_3_H_

#include "PulseSTD.h"
#include "GraphicsTypes.h"
#include "IParameterBinder.h"
#include "Vector3.h"

namespace Pulse
{
	class ParameterBinderVector3 : public IParameterBinder
	{
	public:

		ParameterBinderVector3( void );

		ParameterBinderVector3( IParameter *pParam );

		virtual ~ParameterBinderVector3( void ) { }

		virtual void SetAsVector3( const Vector3 *pData ) { SetData(pData); }

		void SetData( const Vector3 *pData ) { m_data = *pData; }

		virtual void BindValue( void );

		virtual EParameter::Type GetType( void ) { return EParameter::VECTOR3; }

	private:

		Vector3 m_data;

	};
}

#endif /* _PSX_PARAMETER_BINDER_VECTOR_H_ */